package com.ruoyi.report_lqn.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 改性沥青弹性恢复、离析试验检测记录业务对象 report_lqn_gxlqtxjlb_bs_info
 *
 * @author tll
 * @date 2024-09-12
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportLqnGxlqtxjlbBsInfoBo extends ExcelGeneralBo {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotNull(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 报表名称
     */
    @NotBlank(message = "报表名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobmc;

    /**
     * 报表编号
     */
    @NotBlank(message = "报表编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 检测人
     */
    @NotBlank(message = "检测人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancr;

    /**
     * 记录人
     */
    @NotBlank(message = "记录人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilr;

    /**
     * 复核人
     */
    @NotBlank(message = "复核人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuhr;

    /**
     * 日期
     */
    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date riq;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 设备id逗号分隔
     */
    @NotBlank(message = "设备id逗号分隔不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @NotBlank(message = "判定依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 取样地点
     */
    @NotBlank(message = "取样地点不能为空", groups = { AddGroup.class, EditGroup.class })
    private String quydd;

    /**
     * 改性剂名称
     */
    @NotBlank(message = "改性剂名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gaixjmc;

    /**
     * 改性沥青种类
     */
    @NotBlank(message = "改性沥青种类不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gaixlqzl;

    /**
     * 基质沥青产地
     */
    @NotBlank(message = "基质沥青产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jizlqcd;

    /**
     * 基质沥青种类
     */
    @NotBlank(message = "基质沥青种类不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jizlqzl;

    /**
     * 基质沥青标号
     */
    @NotBlank(message = "基质沥青标号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jizlqbh;

    /**
     * 改性沥青弹性恢复试验(25℃)-试样编号1
     */
    @NotBlank(message = "改性沥青弹性恢复试验(25℃)-试样编号1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String huifSybh1;

    /**
     * 改性沥青弹性恢复试验(25℃)-试样长度(cm)1
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-试样长度(cm)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifSycd1;

    /**
     * 改性沥青弹性恢复试验(25℃)-试样残留长度(cm)1
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-试样残留长度(cm)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifClcd1;

    /**
     * 改性沥青弹性恢复试验(25℃)-弹性恢复率测值(%)1
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-弹性恢复率测值(%)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifCz1;

    /**
     * 改性沥青弹性恢复试验(25℃)-弹性恢复率(%)1
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-弹性恢复率(%)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifHfl1;

    /**
     * 改性沥青弹性恢复试验(25℃)-试样编号2
     */
    @NotBlank(message = "改性沥青弹性恢复试验(25℃)-试样编号2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String huifSybh2;

    /**
     * 改性沥青弹性恢复试验(25℃)-试样长度(cm2
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-试样长度(cm2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifSycd2;

    /**
     * 改性沥青弹性恢复试验(25℃)-试样残留长度(cm)2
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-试样残留长度(cm)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifClcd2;

    /**
     * 改性沥青弹性恢复试验(25℃)-弹性恢复率测值(%)2
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-弹性恢复率测值(%)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifCz2;

    /**
     * 改性沥青弹性恢复试验(25℃)-弹性恢复率(%)2
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-弹性恢复率(%)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifHfl2;

    /**
     * 改性沥青弹性恢复试验(25℃)-弹性恢复率平均值
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-弹性恢复率平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifPjz;

    /**
     * 改性沥青离析软化点差值-试样编号1
     */
    @NotBlank(message = "改性沥青离析软化点差值-试样编号1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ruanhdSybh1;

    /**
     * 改性沥青离析软化点差值-顶部沥青软化点r1（℃）1
     */
    @NotNull(message = "改性沥青离析软化点差值-顶部沥青软化点r1（℃）1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR11;

    /**
     * 改性沥青离析软化点差值-底部沥青软化点r2（℃）1
     */
    @NotNull(message = "改性沥青离析软化点差值-底部沥青软化点r2（℃）1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR21;

    /**
     * 改性沥青离析软化点差值-软化点差值1
     */
    @NotNull(message = "改性沥青离析软化点差值-软化点差值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdCz1;

    /**
     * 改性沥青离析软化点差值-离析（℃）1
     */
    @NotNull(message = "改性沥青离析软化点差值-离析（℃）1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdLx1;

    /**
     * 改性沥青离析软化点差值-试样编号2
     */
    @NotBlank(message = "改性沥青离析软化点差值-试样编号2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ruanhdSybh2;

    /**
     * 改性沥青离析软化点差值-顶部沥青软化点r1（℃）2
     */
    @NotNull(message = "改性沥青离析软化点差值-顶部沥青软化点r1（℃）2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR12;

    /**
     * 改性沥青离析软化点差值-底部沥青软化点r2（℃）2
     */
    @NotNull(message = "改性沥青离析软化点差值-底部沥青软化点r2（℃）2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR22;

    /**
     * 改性沥青离析软化点差值-软化点差值2
     */
    @NotNull(message = "改性沥青离析软化点差值-软化点差值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdCz2;

    /**
     * 改性沥青离析软化点差值-离析（℃）2
     */
    @NotNull(message = "改性沥青离析软化点差值-离析（℃）2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdLx2;

    /**
     * 改性沥青离析软化点差值-试样编号3
     */
    @NotBlank(message = "改性沥青离析软化点差值-试样编号3不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ruanhdSybh3;

    /**
     * 改性沥青离析软化点差值-顶部沥青软化点r1（℃）3
     */
    @NotNull(message = "改性沥青离析软化点差值-顶部沥青软化点r1（℃）3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR13;

    /**
     * 改性沥青离析软化点差值-底部沥青软化点r2（℃）3
     */
    @NotNull(message = "改性沥青离析软化点差值-底部沥青软化点r2（℃）3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR23;

    /**
     * 改性沥青离析软化点差值-软化点差值3
     */
    @NotNull(message = "改性沥青离析软化点差值-软化点差值3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdCz3;

    /**
     * 改性沥青离析软化点差值-离析（℃）3
     */
    @NotNull(message = "改性沥青离析软化点差值-离析（℃）3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdLx3;

    /**
     * 改性沥青离析软化点差值-试样编号4
     */
    @NotBlank(message = "改性沥青离析软化点差值-试样编号4不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ruanhdSybh4;

    /**
     * 改性沥青离析软化点差值-顶部沥青软化点r1（℃）4
     */
    @NotNull(message = "改性沥青离析软化点差值-顶部沥青软化点r1（℃）4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR14;

    /**
     * 改性沥青离析软化点差值-底部沥青软化点r2（℃）4
     */
    @NotNull(message = "改性沥青离析软化点差值-底部沥青软化点r2（℃）4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdR24;

    /**
     * 改性沥青离析软化点差值-软化点差值4
     */
    @NotNull(message = "改性沥青离析软化点差值-软化点差值4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdCz4;

    /**
     * 改性沥青离析软化点差值-离析（℃）4
     */
    @NotNull(message = "改性沥青离析软化点差值-离析（℃）4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdLx4;

    /**
     * 改性沥青离析软化点差值-离析（℃）平均值
     */
    @NotNull(message = "改性沥青离析软化点差值-离析（℃）平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ruanhdPjz;

    /**
     * 改性沥青弹性恢复试验(25℃)-拉伸长度(cm)1
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-拉伸长度(cm)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifLscd1;
    /**
     * 改性沥青弹性恢复试验(25℃)-拉伸长度(cm)2
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-拉伸长度(cm)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifLscd2;
    /**
     * 改性沥青弹性恢复试验(25℃)-试样回缩后长度(cm)1
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-试样回缩后长度(cm)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifSyhscd1;
    /**
     * 改性沥青弹性恢复试验(25℃)-试样回缩后长度(cm)2
     */
    @NotNull(message = "改性沥青弹性恢复试验(25℃)-试样回缩后长度(cm)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal huifSyhscd2;
}
